public class TestExtend {
    /*public static void main(String[] args) {
        Dog dog = new Dog();
        //dog没定义任何变量，这些都是从Animal继承的
        System.out.println(dog.name);
        System.out.println(dog.age);
        dog.eat();
        dog.bark();
        dog.sleep();
    }*/

    public class DemoApplication {

        public static void main(String[] args) {

            //向上转型
            //父类类型 对象 = new 子类类型（）
            Animal animal = new Cat();


            //向下转型
            //子类类型 子类变量名 = （子类类型） 父类变量名
            if ( animal instanceof Cat){
                Cat cat = (Cat) animal;
                cat.sleep();//运行结果只会输出这条语句的
            }else if(animal instanceof Dog){
                Dog dog = (Dog) animal;
                dog.bark();
            }

        }
    }
}
